#登录业务类

import allure

#导入该业务有关的页面类
from page.page_index import PageIndex
from page.page_login import PageLogin
from page.page_user import PageUser

class ServiceLogin(object):
    def __init__(self,driver,base_url):
        self.driver=driver
        self.base_url=base_url

        self.ui_index=PageIndex(self.driver,self.base_url)
        self.ui_login=PageLogin(self.driver,self.base_url)
        self.ui_user=PageUser(self.driver,self.base_url)


    def service_login_001(self,d):
        #首页页面上的操作
        allure.attach("","打开首页")
        self.ui_index.openUrl()
        allure.attach("", "点击首页上的登录按钮")
        self.ui_index.click_login()
        #登录页面上的操作
        allure.attach("", f"输入账号：{d['zanhao']}")
        self.ui_login.input_zanhao(d["zanhao"])
        allure.attach("", f"输入账号：{d['pwd']}")
        self.ui_login.input_pwd(d["pwd"])

        #对登录页进行截图
        imgLogin=self.ui_login.savePng3("登录",d["key"])
        allure.attach(open('./screen/' +imgLogin+ '.png', 'rb').read(), "登录页面的截图",allure.attachment_type.PNG)

        allure.attach("", "点击登录上的登录按钮")
        self.ui_login.click_login()
        #个人中心页面上的操作
        siji=self.ui_user.getNiCenText() #nswe，欢迎光临
        allure.attach("", f"获取到昵称:{siji}")
        yuqi=d["yuqi"]
        imgUser=self.ui_user.savePng3("登录",d["key"])
        allure.attach(open('./screen/' + imgUser + '.png', 'rb').read(), "个人中心页面的截图", allure.attachment_type.PNG)
        return yuqi in siji


    def service_login_002(self,d):
        #首页页面上的操作
        self.ui_index.openUrl()
        self.ui_index.click_login()
        #登录页面上的操作
        self.ui_login.input_zanhao(d["zanhao"])
        self.ui_login.input_pwd(d["pwd"])
        self.ui_login.click_login()
        #断言
        siji=self.ui_login.getErrorrTipsText() #"账号或密码错误"
        yuqi=d["yuqi"] #"错误"
        return yuqi in siji

    def service_login_003(self,d):
        #首页页面上的操作
        self.ui_index.openUrl()
        self.ui_index.click_login()
        #登录页面上的操作
        self.ui_login.input_zanhao(d["zanhao"])
        self.ui_login.input_pwd(d["pwd"])
        self.ui_login.click_login()
        #断言
        siji=self.ui_login.getZanhaoClassAttr() #"xxx invalid-text"
        yuqi=d["yuqi"] #"invalid-text"
        return yuqi in siji

    def service_login_004(self,d):
        #首页页面上的操作
        self.ui_index.openUrl()
        self.ui_index.click_login()
        #登录页面上的操作
        self.ui_login.input_zanhao(d["zanhao"])
        self.ui_login.input_pwd(d["pwd"])
        self.ui_login.click_login()
        #断言
        siji=self.ui_login.getPwdClassAtrr() #"xxx invalid-text"
        yuqi=d["yuqi"] #"invalid-text"
        return yuqi in siji






